function Snake(ele){
this.ele=ele
this.len=20

this.snakeObj = [
    { x: 3, y :2, color:'red', ele:null},  
    { x: 2, y :2, color:'black', ele:null}, 
    { x: 1, y :2, color:'black', ele:null} 
  ]

      // 方向
      this.direction = 'right'
}


Snake.prototype.remove = function() {

    // 循环遍历创建蛇
    for (let i = 0; i<this.snakeObj.length; i++) 
    {
        // 单独保存下蛇节对象
    
        if (this.snakeObj[i].ele)
        {
            this.ele.removeChild(this.snakeObj[i].ele)
        }
    }
}



Snake.prototype.create=function(){

    // 从地图上清除蛇
       this.remove()
    // 循环遍历创建蛇

    for(let i=0 ; i<this.snakeObj.length ;i++){

        let divObj=document.createElement('div')

        divObj.style.width=this.len+'px'
        divObj.style.height = this.len + 'px'
        divObj.style.position = 'absolute'

        divObj.style.left =  this.snakeObj[i].x*this.len+'px'
        divObj.style.top =  this.snakeObj[i].y *this.len+'px'
        divObj.style.background = this.snakeObj[i].color

        // 单独保存下蛇节对象
        this.snakeObj[i].ele = divObj

        this.ele.appendChild(divObj)
    }


}



Snake.prototype.move = function() {


    for (let i = this.snakeObj.length - 1; i>0; i--) {

        this.snakeObj[i].x = this.snakeObj[i-1].x
        this.snakeObj[i].y = this.snakeObj[i-1].y
    }

    switch (this.direction) {
        case 'top':
            this.snakeObj[0].y -= 1
            break;
        case 'bottom':
            this.snakeObj[0].y += 1
            break;
        case 'left':
            this.snakeObj[0].x -= 1
            break;
        case 'right':
            this.snakeObj[0].x += 1
            break;
    }

    // 然后重新创建
    this.create()
}